//1、函数模式
//缺陷 1、调用混乱 2、存在命名冲突风险
function f1(){}
function f2(){}

//2、对象模式
//缺陷： 数据不安全，可以被修改
const module = {
    a : 1,
    b : function(){}
}

//3、立即执行函数+闭包模式
//实现data私有化
(function (window, $){
    var data = 'data'
    function foo(){console.log(data)}
    window.module1 = {foo}
})(window, jQuery)